package com.hns.tool.task;

/**
 * 后台执行服务接口
 * @author:Fisher
 * @email:zhuangcaijin@126.com
 * @version Revision 2.0.0
 */
public interface TaskService {
	
	/**
	 * 启动后台服务
	 * @author:Fisher
	 * @email:zhuangcaijin@126.com
	 */
	void startup();

	/**
	 * 添加任务到后台
	 * @param task 待执行的任务
	 * @author:Fisher
	 * @email:zhuangcaijin@126.com
	 */
	void push(BackendTask task);
	
	/**
	 * 停止系统时，调用以停止后台任务
	 * @author:Fisher
	 * @email:zhuangcaijin@126.com
	 */
	void shutdown();
	
	/**
	 * 是否运行中
	 * @return 任务是否执行中
	 * @author:Fisher
	 * @email:zhuangcaijin@126.com
	 */
	boolean isRunning();
}
